Virtual machines are becoming increasingly prevalent solutions for users who want the appearance of a dedicated physical machine but who do not need the processing power of a dedicated physical machine. Operators who provide virtual machines to these users frequently manage dozens, and sometimes hundreds, of virtual machines running on only a few physical host machines. As a result, virtual machine environments are complex, and change frequently. Moreover, it is preferable for virtual machines to be compatible with various physical host machine environments, so that operators can migrate and upgrade hardware as necessary, while providing a consistent and reliable set of virtual machines to the users. It is a challenge for virtual machine developers and operators to effectively and efficiently manage the dozens and sometimes hundreds of virtual machines simultaneously, particularly if many of the virtual machines appear identical at a quick glance. It is therefore desirable to provide a method and apparatus for quickly and easily identifying an individual virtual machine among a large number of similar virtual machines. It is also desirable to provide a method and apparatus for quickly and easily determining certain characteristics of each individual virtual machine. Because a virtual machine is not a physical item, efficiently locating a particular machine is often difficult.
Many websites, such as gmail.com, delicious.com, flickr.com, and digg.com, allow users to associate tags with ranges of memory locations to enable easy identification and searching. For example, flickr.com allows users to upload digital photos taken on individual digital cameras. Because computer software is substantially unable to distinguish images contained in the photos, it is difficult for flickr.com users to search the vast database of digital photographs uploaded by members of the flickr.com community. As a result, flickr.com and other sites like it allow users to associate tags with each digital photo. For example, a user might upload photographs of a family gathering, and associate the tags “reunion,” “mom,” “dad,” “grandfather,” and “summer” with each photo. Future users are then able to easily search an entire database of tagged images and quickly find images based on their content, according to the user-assigned tags. Tagging provides the notable advantage of a one-to-all relationship—there is no need for predefined tagging categories. Rather, a user can tag items freeform, so to speak, constrained only by the language in which the tags are written. In some tagging systems, such as a system to tag email, certain predefined categories may exist. For example, email may be constrained to being tagged as junk, spam, or legitimate. One substantial shortcoming of this tagging system is that individual users must ensure that the tags are present and relevant—without substantial user input, the tagging system of flickr.com and other sites like it breaks down. Thus, in system-critical environments, tagging carries with it great risk, in that if a user makes a mistake or simply forgets to associate the proper tags, one or more objects for which a search is performed may not be located and a critical task may fail to be executed. Worse yet, the search may yield an incorrect object and the critical task may be executed in the wrong context.